TQSec LogAnalysisBot
Q
什么是TQSec LogAnalysisBot
A
TQSec LogAnalysisBot是一个基于Nginx日志的攻击检测和分析工具。它使用深度学习模型来识别和分类攻击行为,帮助安全团队及时发现和响应安全威胁。
我们希望使用最小的资源占用实现最精准的识别。该模型文件仅不到3M大小,目前使用PHP的日志进行训练,您可以客制化独属于您的专业识别的模型。
Q
精准度和泛化能力怎么样?
A
目前测试集上的精准度为 98.86% ,召回率为 99.19% ,F1分数为 99.24% 。
我们的模型在测试集上的泛化能力表现良好,能够准确识别未知的攻击行为。
对同类型(PHP为后端的代码)识别攻击行为均为 0.9+
对同类型(PHP为后端的代码)识别正常行为均为 0.1-
Q
推荐的配置是什么?
A
可运行的最低配置
1H1G / NoGPU
推荐
2H2G / NoGPU
这个小模型不需要GPU
如果您需要训练、微调请参考以下配置
8H8G / NoGPU
客制化小模型 (定制小模型)
1
您需要先准备Nginx Log训练集
攻击行为日志 attack.log.txt
正常请求日志 safe.log.txt
安装python依赖
2
将日志文件格式化到Jsonl文件中
python Log2Jsonl.py脚本会自动添加标记数据 is_attack 到jsonl文件中
3
特征提取、URL和UA分词
python Jsonl2npz.py脚本会将 output.jsonl 文件中的日志内容进行特征提取、URL和UA分词处理。
4
模型训练
python model_train.py训练完成后会将训练好的ai模型保存到 tqsecLogAI.h5 文件中
训练完成后会生成 scaler.npy 文件,用于标准化特征数据
5
模型使用
python predict_final.py test.log6
模型微调
# 将日志文件格式化为 jsonl 文件python Log2Jsonl.py# 提取特征和URL、UA分词python Json2npz.py# 微调模型python trimming.py
由于之前的训练数据不够1W条,强烈建议您根据您的实际情况,使用更多的训练数据进行微调。如果您的训练数据不多,建议直接重新训练!
在运行以下代码前请确保您准备好了微调训练集 attack.log.txt 和 safe.log.txt 文件(显而易见,attack.log.txt 中的日志为攻击行为,safe.log.txt 中的日志为正常请求)
ERROR
如果您遇到以下报错
1
系统缺少C++组件
安装项目目录下VC_redist.x64.exe文件即可
项目下载地址
https://gitee.com/dashengbaby/tqsec-log-analysis-bot
点击蓝字 关注我们